JPA && Spring Data JPA

JPA(Java Persistence API )是用于管理Java EE 和JavaSE 环境中得到持久化,以及对象、关系映射的Java API

实现有EclipseLink, Hibernetes, Apache OpenJPA。

jpa 核心概念
实体
  • 实体表示关系数据库中的表

  • 每个实体实例对应于该表中的行

  • 类必须用javax.persistence.Entity 注解

  • 类必须有一个public 或protected 无参数的构造函数

  • 实体实例被当作值以分离对象方式进行传递,必须实现Serializable 接口
  • 唯一的对象标识符:简单主键,复合主键
关系
  • 一对一
  • 一对多
  • 多对一
  • 多对多
EntityManager
  • 定义用于与持久性上下文进行交互的方法
  • 创建和删除持久实体实例,通过实体的主键查找实体
  • 允许在实体上运行查询

Spring Data JPA

是spring data 家族的一部分

对基于JPA的数据访问层的增强支持

常用接口

CurdRepository

PagingAndSortingRepository

自定义接口

根据方法名创建查询